package JZOffer;

public class Jz66 {

    // Jz66.构建乘积数组
    public int[] constructArr(int[] a) {
        int len = a.length;
        if(len == 0) return new int[0];
        // 创建b数组用于尺寸被构建的乘积数组
        int[] b = new int[len];
        b[0] = 1;
        int tmp = 1;
        // 计算下面三角形中b中各个元素的乘积
        for (int i = 1; i < len; i++) {
            b[i] = b[i - 1] * a[i - 1];
        }
        // 计算上面三角形中b中各个元素的乘积在乘以下面三角形的值
        for (int i = len - 2; i >= 0 ; i--) {
            tmp *= a[i + 1];
            b[i] *= tmp;
        }
        return b;
    }

}
